using SmartMedicalRAG.Core.Models;

namespace SmartMedicalRAG.Core.Services;

/// <summary>
/// 多模态数据服务接口
/// </summary>
public interface IMultimodalDataService
{
    /// <summary>
    /// 处理文本数据
    /// </summary>
    /// <param name="text">文本内容</param>
    /// <returns>处理后的数据</returns>
    Task<ProcessedData> ProcessTextAsync(string text);
    
    /// <summary>
    /// 处理语音数据
    /// </summary>
    /// <param name="audioData">音频数据</param>
    /// <returns>处理后的数据</returns>
    Task<ProcessedData> ProcessVoiceAsync(byte[] audioData);
    
    /// <summary>
    /// 处理图像数据
    /// </summary>
    /// <param name="imageData">图像数据</param>
    /// <returns>处理后的数据</returns>
    Task<ProcessedData> ProcessImageAsync(byte[] imageData);
    
    /// <summary>
    /// 处理生理信号数据
    /// </summary>
    /// <param name="data">生理数据</param>
    /// <returns>处理后的数据</returns>
    Task<ProcessedData> ProcessPhysiologicalSignalAsync(PhysiologicalData data);
} 